{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "原始数据（面积，售价）：\n",
      "(50.0㎡, 92.5万元)\n",
      "(60.0㎡, 101.3万元)\n",
      "(70.0㎡, 117.2万元)\n",
      "(80.0㎡, 133.6万元)\n",
      "(90.0㎡, 136.8万元)\n",
      "(100.0㎡, 148.8万元)\n",
      "(110.0㎡, 169.9万元)\n",
      "(120.0㎡, 177.8万元)\n",
      "(130.0㎡, 183.7万元)\n",
      "(140.0㎡, 200.7万元)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from matplotlib import rcParams\n",
    "\n",
    "# ---------------------- 1. 数据准备 ----------------------\n",
    "# 构造房屋面积（x）和售价（y）的模拟数据，加入少量噪声\n",
    "np.random.seed(42)  # 固定随机种子，让结果可复现\n",
    "x = np.array([50, 60, 70, 80, 90, 100, 110, 120, 130, 140], dtype=np.float64)  # 面积\n",
    "noise = np.random.normal(0, 5, size=10)  # 随机噪声（均值0，标准差5）\n",
    "y = 1.2 * x + 30 + noise  # 真实模型：价格=1.2*面积+30，加噪声模拟真实数据\n",
    "\n",
    "# 打印原始数据，方便查看\n",
    "print(\"原始数据（面积，售价）：\")\n",
    "for xi, yi in zip(x, y):\n",
    "    print(f\"({xi:.1f}㎡, {yi:.1f}万元)\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "自己实现的最小二乘法参数：\n",
      "截距w0 = 32.5681，斜率w1 = 1.1965\n",
      "拟合模型：售价 = 32.5681 + 1.1965 × 面积\n",
      "\n",
      "sklearn线性回归参数：\n",
      "截距w0 = 32.5681，斜率w1 = 1.1965\n",
      "拟合模型：售价 = 32.5681 + 1.1965 × 面积\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# ---------------------- 2. 自己实现最小二乘法 ----------------------\n",
    "def least_squares(x, y):\n",
    "    n = len(x)\n",
    "    x_mean = np.mean(x)  # 计算x的平均值\n",
    "    y_mean = np.mean(y)  # 计算y的平均值\n",
    "    \n",
    "    # 计算w1的分子：(x_i - x_mean)*(y_i - y_mean)的和\n",
    "    numerator = np.sum((x - x_mean) * (y - y_mean))\n",
    "    # 计算w1的分母：(x_i - x_mean)^2的和\n",
    "    denominator = np.sum((x - x_mean) ** 2)\n",
    "    \n",
    "    w1 = numerator / denominator  # 计算斜率w1\n",
    "    w0 = y_mean - w1 * x_mean     # 计算截距w0（利用之前推导的公式）\n",
    "    return w0, w1\n",
    "\n",
    "# 调用函数得到最优参数\n",
    "w0, w1 = least_squares(x, y)\n",
    "print(f\"\\n自己实现的最小二乘法参数：\")\n",
    "print(f\"截距w0 = {w0:.4f}，斜率w1 = {w1:.4f}\")\n",
    "print(f\"拟合模型：售价 = {w0:.4f} + {w1:.4f} × 面积\")\n",
    "\n",
    "# 用拟合模型计算预测值\n",
    "y_pred = w0 + w1 * x\n",
    "\n",
    "# ---------------------- 3. 用sklearn验证结果 ----------------------\n",
    "# sklearn要求输入x为二维数组（形状：[样本数, 特征数]），所以需要reshape\n",
    "x_sklearn = x.reshape(-1, 1)\n",
    "# 初始化并训练模型\n",
    "lr = LinearRegression()\n",
    "lr.fit(x_sklearn, y)\n",
    "# 提取sklearn的参数\n",
    "w0_sklearn = lr.intercept_\n",
    "w1_sklearn = lr.coef_[0]\n",
    "\n",
    "print(f\"\\nsklearn线性回归参数：\")\n",
    "print(f\"截距w0 = {w0_sklearn:.4f}，斜率w1 = {w1_sklearn:.4f}\")\n",
    "print(f\"拟合模型：售价 = {w0_sklearn:.4f} + {w1_sklearn:.4f} × 面积\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "系统可用字体列表（支持 Unicode 的字体通常包含这些关键词：DejaVu、Arial、SimHei、Microsoft YaHei 等）：\n",
      "--------------------------------------------------------------------------------\n",
      "DejaVu Sans Display\n",
      "DejaVu Serif Display\n",
      "DejaVu Sans\n",
      "STIXSizeThreeSym\n",
      "DejaVu Serif\n",
      "cmb10\n",
      "STIXGeneral\n",
      "cmr10\n",
      "STIXNonUnicode\n",
      "STIXSizeTwoSym\n",
      "cmex10\n",
      "DejaVu Sans Mono\n",
      "STIXSizeFiveSym\n",
      "STIXSizeFourSym\n",
      "STIXSizeOneSym\n",
      "cmtt10\n",
      "cmsy10\n",
      "cmmi10\n",
      "cmss10\n",
      "Broadway\n",
      "Garamond\n",
      "Vladimir Script\n",
      "DejaVu Math TeX Gyre\n",
      "Constantia\n",
      "Bookman Old Style\n",
      "Perpetua Titling MT\n",
      "Microsoft YaHei\n",
      "Bell MT\n",
      "Consolas\n",
      "Verdana\n",
      "Candara\n",
      "SimSun-ExtB\n",
      "Chiller\n",
      "Californian FB\n",
      "Rockwell\n",
      "Lucida Fax\n",
      "Book Antiqua\n",
      "STHupo\n",
      "Tw Cen MT Condensed Extra Bold\n",
      "Arial\n",
      "Segoe UI\n",
      "Palatino Linotype\n",
      "Noto Sans SC\n",
      "Forte\n",
      "Segoe UI Emoji\n",
      "Pristina\n",
      "STLiti\n",
      "Calisto MT\n",
      "Ebrima\n",
      "Sitka Small\n",
      "STFangsong\n",
      "Castellar\n",
      "Gill Sans MT\n",
      "Courier New\n",
      "Microsoft JhengHei\n",
      "Microsoft Tai Le\n",
      "Magneto\n",
      "Wingdings 3\n",
      "Comic Sans MS\n",
      "NumberOnly\n",
      "FZShuTi\n",
      "Bradley Hand ITC\n",
      "Bodoni MT\n",
      "KaiTi\n",
      "Dubai\n",
      "Georgia\n",
      "Franklin Gothic Book\n",
      "Lucida Sans Typewriter\n",
      "Footlight MT Light\n",
      "Tahoma\n",
      "Lucida Calligraphy\n",
      "Franklin Gothic Medium\n",
      "Felix Titling\n",
      "Goudy Old Style\n",
      "Gabriola\n",
      "LiSu\n",
      "SimHei\n",
      "Juice ITC\n",
      "Century Schoolbook\n",
      "Monotype Corsiva\n",
      "Vivaldi\n",
      "Franklin Gothic Medium Cond\n",
      "Microsoft New Tai Lue\n",
      "STXihei\n",
      "Edwardian Script ITC\n",
      "Gill Sans MT Condensed\n",
      "Malgun Gothic\n",
      "Segoe UI Historic\n",
      "DIN Next LT Pro\n",
      "Calibri\n",
      "Bernard MT Condensed\n",
      "Tw Cen MT Condensed\n",
      "Berlin Sans FB\n",
      "MS Gothic\n",
      "Leelawadee UI\n",
      "Cooper Black\n",
      "Gill Sans Ultra Bold Condensed\n",
      "Copperplate Gothic Bold\n",
      "DengXian\n",
      "Tw Cen MT\n",
      "Gill Sans Ultra Bold\n",
      "Franklin Gothic Demi Cond\n",
      "Symbol\n",
      "Elephant\n",
      "Kristen ITC\n",
      "Times New Roman\n",
      "MT Extra\n",
      "Jokerman\n",
      "Gloucester MT Extra Condensed\n",
      "Britannic Bold\n",
      "Trebuchet MS\n",
      "High Tower Text\n",
      "Wide Latin\n",
      "Javanese Text\n",
      "Bauhaus 93\n",
      "Perpetua\n",
      "Lucida Bright\n",
      "Cambria\n",
      "Eras Bold ITC\n",
      "Century Gothic\n",
      "Rockwell Condensed\n",
      "STSong\n",
      "MS Reference Specialty\n",
      "Corbel\n",
      "FangSong\n",
      "STZhongsong\n",
      "Microsoft Yi Baiti\n",
      "OCR A Extended\n",
      "Showcard Gothic\n",
      "YouYuan\n",
      "Microsoft Sans Serif\n",
      "Agency FB\n",
      "Segoe Print\n",
      "MV Boli\n",
      "Segoe Script\n",
      "HYZhongHei\n",
      "Poor Richard\n",
      "Onyx\n",
      "Yu Gothic\n",
      "French Script MT\n",
      "Curlz MT\n",
      "SimSun\n",
      "MingLiU-ExtB\n",
      "Kunstler Script\n",
      "HoloLens MDL2 Assets\n",
      "Rockwell Extra Bold\n",
      "Lucida Sans Unicode\n",
      "Impact\n",
      "Script MT Bold\n",
      "Niagara Engraved\n",
      "Brush Script MT\n",
      "Lucida Handwriting\n",
      "Nirmala UI\n",
      "Century\n",
      "Stencil\n",
      "Baskerville Old Face\n",
      "Informal Roman\n",
      "Eras Light ITC\n",
      "Mistral\n",
      "Niagara Solid\n",
      "Segoe MDL2 Assets\n",
      "Lucida Sans\n",
      "Gill Sans MT Ext Condensed Bold\n",
      "Gadugi\n",
      "MS Outlook\n",
      "STXingkai\n",
      "Wingdings\n",
      "MS Reference Sans Serif\n",
      "Tempus Sans ITC\n",
      "Modern No. 20\n",
      "SimSun-ExtG\n",
      "Rage Italic\n",
      "Wingdings 2\n",
      "Berlin Sans FB Demi\n",
      "Papyrus\n",
      "Franklin Gothic Heavy\n",
      "Harrington\n",
      "Goudy Stout\n",
      "Imprint MT Shadow\n",
      "Bookshelf Symbol 7\n",
      "Myanmar Text\n",
      "Gigi\n",
      "Harlow Solid Italic\n",
      "Haettenschweiler\n",
      "Parchment\n",
      "Mongolian Baiti\n",
      "STKaiti\n",
      "Palace Script MT\n",
      "Eras Demi ITC\n",
      "FZCuHeiSongS-B-GB\n",
      "Arial Rounded MT Bold\n",
      "Franklin Gothic Demi\n",
      "Old English Text MT\n",
      "Segoe UI Symbol\n",
      "Viner Hand ITC\n",
      "Sylfaen\n",
      "Centaur\n",
      "Microsoft PhagsPa\n",
      "Eras Medium ITC\n",
      "Playbill\n",
      "Freestyle Script\n",
      "Webdings\n",
      "Ink Free\n",
      "Lucida Console\n",
      "FZYaoTi\n",
      "Copperplate Gothic Light\n",
      "Engravers MT\n",
      "Algerian\n",
      "STCaiyun\n",
      "Snap ITC\n",
      "Matura MT Script Capitals\n",
      "Blackadder ITC\n",
      "Kingsoft UE\n",
      "STXinwei\n",
      "Maiandra GD\n",
      "Ravie\n",
      "Colonna MT\n",
      "Bahnschrift\n",
      "Microsoft Himalaya\n",
      "--------------------------------------------------------------------------------\n",
      "共找到 219 种不同字体\n"
     ]
    }
   ],
   "source": [
    "# 1. 导入必需的库（matplotlib 核心 + 字体管理）\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.font_manager as fm\n",
    "\n",
    "# 2. 查看系统所有可用字体（筛选出支持 Unicode 的字体）\n",
    "print(\"系统可用字体列表（支持 Unicode 的字体通常包含这些关键词：DejaVu、Arial、SimHei、Microsoft YaHei 等）：\")\n",
    "print(\"-\" * 80)\n",
    "\n",
    "# 去重并打印字体名称（避免重复输出）\n",
    "font_names = set()  # 用集合去重\n",
    "for font in fm.fontManager.ttflist:\n",
    "    if font.name and font.name not in font_names:\n",
    "        font_names.add(font.name)\n",
    "        print(font.name)\n",
    "\n",
    "print(\"-\" * 80)\n",
    "print(f\"共找到 {len(font_names)} 种不同字体\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\software\\conda\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 772 (\\N{COMBINING MACRON}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n",
      "D:\\software\\conda\\Lib\\site-packages\\IPython\\core\\pylabtools.py:152: UserWarning: Glyph 563 (\\N{LATIN SMALL LETTER Y WITH MACRON}) missing from current font.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n"
     ]
    },
    {
     "data": {
      "image/png": "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V+bUGscLbYY7sDsRERERERuFJ3Gow1u+oP13/2afTxwUstU8E2GMZ1P6TfwC10Ke6T7PYoFffoHLl8HfH+rVA7M5BxsXERERkQJH93kSx/jzT3jjDR5u/hqnXePs5Y7RQRzuspch73yTYXBaswZKlYJGjWDaNNt/S5Wy1UVEREREsovCk+SspCSYMQPKl4elS3koDib9BFWi3Pml2lyWTT/BY2WrZvj0NWugdWuIiEhdP3fOVleAEhEREZHsovAkOeanrz+g9qAiXHx3MMTE2Io+PnTrMpf/mxJJ3Vf73PH5Fgv075/+InsptQED7LeDEhERERHJUgpPku3OhO2gzaBAGoW+zY6H43inEWAyQffucOQI5t59cHZ1v+vrhISknXG6nWHA2bO2/UREREREspoWjJBsEx97jekz2zAx4Ufiityqh5fyJGHHZtxq1L6n17twIWv3ExERERG5F7lm5unq1asEBQVx6tQpey00NJTq1avj6+vL0KFDMW47X+tO28Txvl0+hspj/Bll/ZE4F1vN/4aJxX5d+G165D0HJ4BixbJ2PxERERGRe5ErwtOVK1do2rRpquCUkJDAq6++yjPPPMOePXsICwtjyZIld90mjnVs3080HfgITY+N57h3MgBmK/SPf5ojg07Spe9inMz3N+FZty4EBtrO+EuPyQTFi9v2ExERERHJarkiPLVr14527dqlqm3atImoqChmzJhBmTJlmDRpEp988sldt4mDXL9O8qgRNFraiG99LtnL9SOLsO+F1cyavA+fR0o+0CHMZpg92/bnvweolMezZul+TyIiIiKSPXLFNU+LFi2idOnSDBgwwF47cOAANWvWxMPDA4AqVaoQFhZ2120ZSUhIICEhwf44OjoaAKvVitVqzcpvp2AxDFi9GtPQoTifPcu4p6BzCwiIdeKDcr1pO3IGJienLHuPg4Nh9WoYOBDOn7diMhk4OVkJCLCtgB4cDPpxSnaxWq0YhqF/MyRHaLxJTtOYk5yU28ZbZvvIFeGpdOnSaWrR0dEEBQXZH5tMJsxmM5GRkXfc5uvrm+4xJk+ezLhx49LUL1++THx8fBZ8FwXPsb2bCZj+IUFbd9trHcOcufpCbYL/PRcPn6JcvnIly49buzbs2AGhoVaio6Pw9jaoXNkJJye4dOnuzxe5X1arlaioKAzDwMkpV0zcSz6m8SY5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c/HiRVxdXbly5QoWi4WzZ8+SmJiYblC7XwkJCSxevJiQkJAM93FxcaF79+707duXypUr06xZszT7/PrrryxdupR58+almqEqX748169fTzXz5OTkxLp169J9HbDNPCUkJKQbBCdMmEBwcHCa4AQwbNgwYmNj8fPzu+P33LFjR4YPH86+ffuoWrXqHfcVEREbhScRkXwu5cP3368N2rBhA0uXLmX16tV3fH5iYiIXL17koYcewt3dHScnJ5KTk4mKikp1rU/KMTp16pRq1sPNzY06derw66+/kpycjIuLCxcuXODRRx8FbOHs2LFjlCpVinbt2tlPMwTb9Vrt27dP1U+JEiUA24xMVjly5Aje3t5pguPf9e7dm23bttG5c2f279+fatvVq1d57bXXaNy4Mb169Uq1zcnJCQ8PD/vj5ORkDMOwzwqmx2QypZotPH78OM7OzpjNZtzd3Xnuuefs15dZrVYiIyOJiIigZMmSAERERJCUlERiYiJBQUGp3lewhcFGjRqxa9cuhScRkUxSeBIRyecyWirc39+fr7/+mt27d1O9enXANtsRHx+PxWLB09MTsK3uVrZsWb777jvANhvUtGlTHn/8cRYuXEhERATDhw9n/vz5+Pj4pDnOnQJCem7fv1WrVvYZmxdeeIEjR46wd+9eHnroIUwmEz169Ej3NZKSku7pmGfOnEl3Fic9M2fOpF27dmne1x9++AFnZ+e7LqwB2E9XvHjxYpprnVI89NBDqa6bql+/PufOncvwNQcNGpThAhBHjx6lbNmyaeoBAQGcOXPmrv2KiIiNwpOISD6X8iE/o9Ptnn322TS1l156yX6NU1RUlH2W6H//+x9du3YlODiYMWPG2E/Ru3jxIv/85z/ZvHkzRYsWvWtPty8UYbFYMtzPxcUFFxcXDh48yPbt2/H09KRSpUosWbKEJk2akJiYSN26ddM8r127dnft4Xaurq7ExMRkuP3gwYP2ZdQBPv74Y5KTk+1Lhp88eZKqVauydu1arly5wqVLl0hMTMTFxSXd2awrV64A2FfHS8+UKVMYNmyY/fG+ffvw8vJKNRvVpUsXjh8/zu+//86jjz6Ku7s7u3btwtXVFcMwuH79OrGxsTz88MPpHiM6Otr+sxURkbtTeBIRyeeuXr1KYGAgR48etdcCAwN577330nx4T7nO5vagdfLkSRo2bEhs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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ---------------------- 4. 可视化结果 ----------------------\n",
    "rcParams['font.sans-serif'] = ['SimHei']# 优先级排序\n",
    "rcParams[\"axes.unicode_minus\"] = False# 解决负号显示问题\n",
    "\n",
    "plt.figure(figsize=(10, 6))\n",
    "# 绘制原始数据点（蓝色散点）\n",
    "plt.scatter(x, y, color='blue', label='原始数据')\n",
    "\n",
    "# 绘制自己实现的拟合直线（红色实线）\n",
    "plt.plot(x, y_pred, color='red', linewidth=2, label='自己实现的拟合线')\n",
    "\n",
    "\n",
    "# 绘制sklearn的拟合直线（绿色虚线，几乎与红线重合，说明结果一致）\n",
    "plt.plot(x, lr.predict(x_sklearn), color='green', linestyle='--', linewidth=2, label='sklearn拟合线')\n",
    "\n",
    "# todo 特殊字体需要配置字体,这个后续在进行处理\n",
    "# 标记均值点（x_mean, y_mean）\n",
    "plt.scatter(np.mean(x), np.mean(y), color='black', s=100, marker='o', label='均值点(x̄, ȳ)')\n",
    "\n",
    "# 添加图表信息\n",
    "plt.xlabel('房屋面积（平方米）', fontsize=12)\n",
    "plt.ylabel('房屋售价（万元）', fontsize=12)\n",
    "plt.title('线性回归-最小二乘法拟合示例', fontsize=14)\n",
    "plt.legend()  # 显示图例\n",
    "plt.grid(True, alpha=0.3)  # 显示网格\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
